# -*- coding: utf-8 -*-

 ###############################################
 ##                                             ##
 ##      Acceso a servidor de base de datos      ##
 ##                                              ##
 ##                                              ##
 ##                                              ##
 ##           por Críptidos Digitales            ##
 ##                 GPL (c)2005                  ##
  ##                                             ##
    ###############################################

defaultChannel = 1

import sys
import datetime
# import psycopg2 as adapter
# import psycopg2.extras as extras
# import psycopg2.extensions

# psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)


def errorString(num, channel=defaultChannel):

    data = [
        ( 1000, "Programming errors", u"Errores de programación" ),
        ( 1002, "Programming error, contact the administrator, send him the log file", u"Error de programación, envíe el archivo log al administrador"),
        ( 1010, "Unknown error", u"Error desconocido" ),
        ( 1015, "Error not documented", u"Error no documentado"),

        ( 2000, "Comunication errors", u"Errores de comunicación" ),
        ( 2020, "No password supplied", u"Falta la contraseña"),
        ( 2025, "User name / password combination unknown",  u"Combinación de usuario y contraseña no válida"),
        ( 2030, "No user name specified", u"Falta el nombre de usuario"),
        ( 2040, "Unknown host", u"Servidor desconocido"),
        ( 2043, "Server closed the connection unexpectedly", u"El servidor canceló la conexión sin causa aparente"),
        ( 2045,  "Too many clients already", u"Se alcanzó el límite de conexiones"),
        ( 2048, "Could not find server", u"No encontré el servidor" ),

        ( 3000, "Database errors and messages", u"Errores de base de datos" ),
        ( 3001, "Database access unknown error", u"Error desconocido al accesar base de datos" ),
        ( 3002, "User bonza does not exist", u"No existe el usuario bonza"),
        ( 3011, "Database does not exist", u"La base de datos no existe" ),
        ( 3012, "Database already exists", u"La base de datos ya existe" ),
        ( 3021, "Table already exists", u"La tabla ya existe" ),

        ( 4000, "User errors", u"Errores de usuario" ),
        ( 4001, "Permission denied", u"El usuario no tiene permiso para la tarea solicitada" ),
        ( 4002, "Field must not be empty", u"El campo no debe estar vacío" ),

        ( 5000, "Warnings", u"Advertencias" ),
        ( 5001, "Company data missing", u"Se requiere capturar los datos de la empresa para entrar al sistema" ),
        ( 5002, "Master user missing", u"Se requiere capturar los datos de un usuario maestro para entrar al sistema" ),

        ( 6000, "Just for info", u"Sólo por informar" ),
        ( 6001, "Non required", u"No se requiere" )
        ]
    temp = [x for x in data if x[0]==num]
    if temp :
        return temp[0][1+channel]
    else :
        return ["Unknown error id : %s" % num, u"id de error desconocido : %s" % num][channel]


if __name__ == "__main__":
    # usage
    print errorString(1010)
